/**
 * 
 */
package com.ms.game.itembox;

/**
 * 水晶數量變更行為列舉
 * 
 * @author TW15010
 */
public enum CrystalChangeWay {
	// 增加的行為, id 必須大於 0 =============================================

	/** 指令設定 */
	ADD_COMMAND_SET(1, "指令設定"),

	/** 遊戲中獲得 */
	ADD_RECV_FROM_GAME(2, "遊戲中獲得"),
	
	ADD_RECV_FROM_BONUS_PACK(3, "從禮包中取得"),
	
	ADD_RECV_FROM_MISSION_REWARD(4, "每日任務獎勵"),
	
	ADD_RECV_FROM_LEVEL_BOX(5, "打開升級寶箱取得"),
	
	ADD_RECV_FROM_GIFT_BOX(6, "打開補償寶箱取得"),
	
	ADD_RECV_FROM_GMTOOL (7,"GMTOOL 發放"),
	
	ADD_RECV_FROM_FNBO(8,"從樂翻寶中獲得"),

	// 減少的行為, id 必須小於 0 =============================================

	/** 精煉道具扣除 */
	SUB_REFINE_ITEM(-3, "精煉道具扣除");

	/**
	 * 代表數值
	 */
	private int id;

	/**
	 * 說明
	 */
	private String desc;

	/**
	 * @param id
	 *            代表數值
	 * @param desc
	 *            說明
	 */
	private CrystalChangeWay(int id, String desc) {
		this.id = id;
		this.desc = desc;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getDesc() {
//		return desc;
		return this.name();//20160518 改成回傳enum.name()
	}

	public void setDesc(String desc) {
		this.desc = desc;
	}

	/**
	 * 是否為增加值
	 * 
	 * @return true 是<br>
	 *         false 否
	 */
	public boolean isAdd() {
		return (id > 0);
	}

	/**
	 * 是否為減少值
	 * 
	 * @return true 是<br>
	 *         false 否
	 */
	public boolean isSubtract() {
		return (id < 0);
	}
}
